The present invention relates generally to industrial control networks for controlling machines and industrial processes, and, in particular, to a diagnostic module allowing greater diagnostic monitoring for distributed industrial networks interconnecting industrial controllers.
Industrial controllers are used to control and monitor industrial processes and machinery. A typical industrial controller includes a special-purpose computer that executes a stored control program to read inputs from and provide outputs to the controlled process, based on the logic of the control program. Industrial controllers typically generate and store diagnostic information related to the operation of the controller.
Industrial controllers differ from conventional computers in three respects. First, industrial controllers are highly customizable to fit the demands of the particular industrial process being controlled. Typically, this customization is made possible by a modular construction which provides different components that may be added to the industrial controller to expand it for a particular application. Most typically, these additional components will be I/O (input/output) modules that provide analog or digital signals to actuators or that receive analog or digital signals from sensors. Other common components include displays and motor drives.
The second difference between industrial controllers and conventional computers is that the components of the industrial controller can be separated by considerable distances, for example, distributed over a network communicating throughout a factory. A number of proprietary high-speed control networks are used for this purpose including, for example, ControlNet and DeviceNet, open standards managed by a multi-industry consortium ODVA (www.odva.org).
Third, industrial controllers, unlike conventional computers, must provide highly predictable and reliable control outputs that may safely control physical equipment. In this regard, it is imperative both that the outputs and inputs be delivered rapidly and that there be assurance that the outputs and inputs have, in fact, been communicated. Further, it is important that any issues with the controllers, as shown in the controller-generated diagnostic information, be quickly and effectively communicated. Corruption of the data communication or spurious messages cannot be allowed.
Accordingly, in an industrial control network, a user needs the ability to quickly diagnose device or network-related problems when they occur. These problems may often be diagnosed based on symptoms experienced by the network including, but not limited to, communication to robots being interrupted, communication to personal computers being very slow, erroneous messages being sent by network components, etc. Because of the disparate nature of these problems, it would be advantageous to have easy access to diagnostic data from the variety of components associated with the control system.
However, diagnostic data is not always readily available in an industrial control network. Diagnostic data may be scattered throughout many possible industrial devices on the network. Further, the diagnostic data may be represented inconsistently in the different devices, both in format and content. Yet further, the end devices do not proactively send diagnostic notifications. Accordingly, it is difficult for user to both discover devices on the network and to identify which devices may be malfunctioning and the nature of any malfunctions that do occur.
What is needed is a system and method for distributed industrial network diagnostics. What is further needed is such a system and method implemented by a diagnostic agent configured to interface with the other devices on the industrial control network in a highly customizable environment. What is yet further needed is such a system and method configured to provide a diagnostic management station to allow a user to obtain information regarding the network.